package com.djx.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Order implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 订单id
     */
    @ExcelProperty("订单id")
    private Integer orderId;

    /**
     * 订单编号
     */
    @ExcelProperty("订单编号")
    private String orderNo;

    /**
     * 父订单id
     */
    @ExcelProperty("父订单id")
    private Integer parentOrderId;

    /**
     * 订单类型(0: 交易订单， 1:退货订单)
     */
    @ExcelProperty("订单类型")
    private Integer payOrderType;

    /**
     * 运单号
     */
    @ExcelProperty("运单号")
    private String expressNumber;

    /**
     * 快递公司编号
     */
    @ExcelProperty("快递公司编号")
    private String expressCompanyNo;

    /**
     * 快递公司名称
     */
    @ExcelProperty("快递公司名称")
    private String expressCompanyName;

    /**
     * 配送人电话号码
     */
    @ExcelProperty("配送人电话号码")
    private String deliveryPersonTel;

    /**
     * 客服审核状态:(0: 未审核， 1:审核通过 2: 审核未通过 )
     */
    @ExcelProperty("客服审核状态")
    private String serviceAuditStatus;

    /**
     * 商家审核状态:(0: 未审核， 1:确认收到货 2: 未收到货 )
     */
    @ExcelProperty("商家审核状态")
    private String merchantAuditStatus;

    /**
     * 财务审核状态:(0: 未审核， 1:通过已打款 2:不通过未打款 )
     */
    @ExcelProperty("财务审核状态")
    private String financeAuditStatus;

    /**
     * 是否删除( 0:否 1：是)
     */
    @ExcelProperty("是否删除")
    private Integer isDelete;

    /**
     * 商品id
     */
    @ExcelProperty("商品id")
    private Integer goodsId;

    /**
     * 商品总额
     */
    @ExcelProperty("商品总额")
    private BigDecimal totalMoney;

    /**
     * 订单状态 (0:待支付 1:已支付，待发货 2:已发货待收货 3:确认收货 4:订单完成 5:订单关闭 6:结算页面 预提交订单 7:结算页面 预提交关闭 8：退换货)
     */
    @ExcelProperty("订单状态")
    private Integer orderStatus;

    /**
     * 退货退款订单状态 (0: 待审核申请 1: 通过未填写运单号 2:已填写运单号等待商家收货 3:确认收货未退款 4:确认收货已退款 5订单关闭)
     */
    @ExcelProperty("退货退款订单状态")
    private String returnsRefundsStatus;

    /**
     * 退款订单状态 (0:待审核申请 1:审核通过未退款 2: 退款完成 3: 订单关闭)
     */
    @ExcelProperty("退款订单状态")
    private String refundsStatus;

    /**
     * 换货订单状态(0:待审核申请 1: 申请通过未填写运单号 2: 已填写运单号等待商家收货 3:确认收货未发货 4:确认收货已发货 5:订单关闭)
     */
    @ExcelProperty("换货订单状态")
    private String exchangeGoodsStatus;

    /**
     * 是否评价(0:未评价 1:已评价)
     */
    @ExcelProperty("是否评价(0:未评价 1:已评价)")
    private Integer discussStatus;

    /**
     * 用户id
     */
    @ExcelProperty("用户id")
    private Integer userId;

    /**
     * 收货人姓名
     */
    @ExcelProperty("收货人姓名")
    private String consigneeName;

    /**
     * 收货人手机号码
     */
    @ExcelProperty("收货人手机号码")
    private String consigneePhone;

    /**
     * 省
     */
    @ExcelProperty("省")
    private String province;

    /**
     * 市
     */
    @ExcelProperty("市")
    private String city;

    /**
     * 区/县
     */
    @ExcelProperty("区/县")
    private String area;

    /**
     * 详细地址
     */
    @ExcelProperty("详细地址")
    private String detailedAddress;

    /**
     * 订单创建时间
     */
    @ExcelProperty("订单创建时间")
    private Date createdTime;

    /**
     * 订单支付时间
     */
    @ExcelProperty("订单支付时间")
    private Date payTime;

    /**
     * 发货时间
     */
    @ExcelProperty("发货时间")
    private Date deliveryTime;

    /**
     * 订单关闭时间
     */
    @ExcelProperty("订单关闭时间")
    private Date orderClosingTime;

    /**
     * 收货时间
     */
    @ExcelProperty("收货时间")
    private Date receivingTime;

    /**
     * 申请退款时间
     */
    @ExcelProperty("申请退款时间")
    private Date refundPeriod;

    /**
     * 退款完成时间
     */
    @ExcelProperty("退款完成时间")
    private Date refundCompletePeriod;

    /**
     * 退款原因
     */
    @ExcelProperty("退款原因")
    private String refundCause;

    /**
     * 退货类型: ( 0: 退货，退款， 1:退款， 2:换货 3:未申请退货 )
     */
    @ExcelProperty("退货类型")
    private Integer returnGoods;

    /**
     * 凭证图片
     */
    @ExcelProperty("凭证图片")
    private String evidenceImage;

    /**
     * 问题描述
     */
    @ExcelProperty("问题描述")
    private String description;

    /**
     * 运费
     */
    @ExcelProperty("运费")
    private BigDecimal freight;

    /**
     * 付款方式 0：购物卡 1：支付宝支付 2.微信支付 3: 购物卡和支付宝 4: 购物卡和微信
     */
    @ExcelProperty("付款方式")
    private Integer paymentMethod;

    /**
     * 购物卡付款金额
     */
    @ExcelProperty("购物卡付款金额")
    private String shoppingCardPay;

    /**
     * 微信支付金额
     */
    @ExcelProperty("微信支付金额")
    private String weChatPay;

    /**
     * 支付宝支付金额
     */
    @ExcelProperty("支付宝支付金额")
    private String alipay;

    /**
     * 购物卡id
     */
    @ExcelProperty("购物卡id")
    private String giftCardsId;

    /**
     * 商品数量
     */
    @ExcelProperty("商品数量")
    private Integer count;

    /**
     * 管理员id（商家id）
     */
    @ExcelProperty("管理员id")
    private Integer adminId;

    @ExcelIgnore
    private String ignore;
}
